Using Simplex Method in Verifying Software Safety
نویسندگان
چکیده
In this paper we discuss an application of the Simplex method in checking software safety — the application in automated detection of buffer overflows in C programs. This problem is important because buffer overflows are suitable targets for hackers’ security attacks and sources of serious programs’ misbehavior. We also describe our implementation, including a system for generating software correctness conditions and a Simplex -based theorem prover that resolves these conditions.
منابع مشابه
An Approach to Specifying and Verifying Safety-Critical Systems with Practical Formal Method SOFL
One of the primary concerns in developing computer embedded safety-critical systems is how to develop quality software. Software must fulll its functional requirements and must not contribute to the violation of safety properties of the entire system. To this end, capturing error free and satisfactory functional requirements is crucial before proceeding to the subsequent development phases. We ...
متن کاملBytecode Verification for Haskell
In this paper we present a method for verifying Yhc bytecode, an intermediate form of Haskell suitable for mobile code applications. We examine the issues involved with verifying Yhc bytecode programs, and we present a proof-of-concept bytecode compiler and verifier. Verification is a static analysis which ensures that a bytecode program is type-safe. The ability to check type-safety is importa...
متن کاملReluplex: An Efficient SMT Solver for Verifying Deep Neural Networks
Deep neural networks have emerged as a widely used and effective means for tackling complex, real-world problems. However, a major obstacle in applying them to safety-critical systems is the great difficulty in providing formal guarantees about their behavior. We present a novel, scalable, and efficient technique for verifying properties of deep neural networks (or providing counter-examples). ...
متن کاملA Formal Specification Framework for Designing and Verifying Reliable and Dependable Software for CNC Systems
As a distributed computing system, a CNC system needs to be operated reliably, dependably, and safely. How to design reliable and dependable software and perform effective verification for CNC systems becomes an important research problem. In this paper, we propose a new modeling method called TTM/ATRTTL (timed transition models/all-time real-time temporal logics) for specifying CNC systems. TT...
متن کاملA Methodology for Model-based Verification of Safety Contracts
The verification of safety requirements becomes crucial in critical systems where human lives depend on their correct functioning. Formal methods have often been advocated as necessary to ensure the reliability of software systems, albeit with a considerable effort. In any case, such an effort is cost-effective when verifying safety-critical systems. Often, safety requirements are expressed usi...
متن کامل